package com.march.common.config;



import com.march.common.utils.PropertiesLoader;

import java.util.Map;

import com.google.common.collect.Maps;
import com.march.common.utils.StringUtils;
import com.march.common.config.Global;

/**
 * 全局配置类
 * @author march
 * @version 2018-3-2
 */
public class Global {

		/**
		 * 当前对象实例
		 */
		private static Global global = new Global();
		
		/**
		 * 保存全局属性值
		 */
		private static Map<String, String> map = Maps.newHashMap();
		
		/**
		 * 属性文件加载对象
		 */
		private static PropertiesLoader loader = new PropertiesLoader("march.properties","sms.properties");

		/**
		 * 获取当前对象实例
		 */
		public static Global getInstance() {
			return global;
		}
		
		/**
		 * 获取配置
		 * @see ${fns:getConfig('adminPath')}
		 */
		public static String getConfig(String key) {
			String value = map.get(key);
			if (value == null){
				value = loader.getProperty(key);
				map.put(key, value != null ? value : StringUtils.EMPTY);
			}
			return value;
		}


}
